﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Encuestas.aspx.cs" Inherits="KioskosJugandoLimpio.Admin.Encuestas" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script type="text/javascript" src="../Scripts/jquery141.js"></script>
<script type="text/javascript" src="../Scripts/jquery.json2xml.js"></script>
<script type="text/javascript">

    function fnOptions(idPreguntas) {
        var span = document.getElementById("__pregunta_" + idPreguntas);
        var combo = span.getElementsByTagName("select")[0];
        var inputs = span.lastChild;

        $(inputs).load("Stubs.aspx?class=opciones&idPreguntas=" + idPreguntas+"&idTiposPreguntas="+combo.value);
        return false;
        
    }
    function fnAddOption(idPreguntas) {
        var span = $("#__pregunta_" + idPreguntas);
        var inputs = span.find("a").last();
        var ht = $.get("Stubs.aspx?class=opcion", function (text) {
            inputs.before(text);
        });
        return false;
    }
    function fnAddQuestion(idSecciones) {
        var span = $("#__seccion_" + idSecciones);
        var inputs = span.find("a").last();
        var ht = $.get("Stubs.aspx?class=pregunta", function (text) {
            inputs.before(text);
        });

        return false;
    }
    function fnAddSection(idEncuestas) {
        var span = $("#__encuesta_" + idEncuestas);
        var inputs = span.find("a").last();
        var ht = $.get("Stubs.aspx?class=seccion", function (text) {
            inputs.before(text);
        });

        return false;
    }
    function fnSerialize() {
        var encObj = new Object();
        var allSpans = $("span[id^='__encuesta_']");
        var encSpan;
        for (var i = 0; i < allSpans.length; i++) {
            if (allSpans[i].id.indexOf("__encuesta_")==0) {
                encSpan = allSpans[i];
                encObj.idEncuestas = allSpans[i].id.replace("__encuesta_", "");
            }
        }
        var inputs = encSpan.getElementsByTagName("input");
        var intro = encSpan.getElementsByTagName("textarea")[0];
        encObj.introduccion = intro.value;
        var tituloEnc = inputs[0];
        encObj.titulo = tituloEnc.value;
        encObj.notaFinal = $("input[id^='__notaFinal']").val();
        var sectionSpans = $("span[id^='__seccion_']");
        encObj.secciones = new Array();
        for (var i = 0; i < sectionSpans.length; i++) {
            encObj.secciones.push(fnSerializeSection(sectionSpans[i]));
        }
        var json = JSON.stringify(encObj);
        json = $.json2xml(encObj);
        $("[id$='jsonString']").last().val ( json.replace(/</g,"{"));
        //return false;
    }
    function fnSerializeSection(sectionSpan) {
        var sectionObj = new Object();
        sectionObj.id = sectionSpan.id.replace("__seccion_", "");
        var inputs = sectionSpan.getElementsByTagName("input");
        for (var i = 0; i < inputs.length; i++) {
            if (inputs[i].className == "subtitulo") {
                sectionObj.titulo = inputs[i].value;
                continue;
            }
            if (inputs[i].id.indexOf("__notaSeccionFinal") != -1) {
                sectionObj.notaFinal = inputs[i].value;
                continue;
            }
        }
        var spans = sectionSpan.getElementsByTagName("span");
        sectionObj.questions = new Array();
        for (var i = 0; i < spans.length; i++) {
            if (spans[i].id.indexOf("__pregunta") != -1) {
                sectionObj.questions.push(fnSerializeQuestion(spans[i]));
            }
        }
        return sectionObj;
    }
    function fnSerializeQuestion(questionSpan) {
        var questionObj = new Object();
        questionObj.tipoPregunta = questionSpan.getElementsByTagName("select")[0].value;
        
         var inputs = questionSpan.getElementsByTagName("input");
        questionObj.id = questionSpan.id.replace("__pregunta_", "");
        questionObj.options = new Array();
        for( var i = 0 ; i<inputs.length; i ++ ){
            if( inputs[i].id.indexOf("__textoPregunta_")!=-1 ){
                questionObj.pregunta = inputs[i].value;
            }
        }
        var spans = questionSpan.getElementsByTagName("span");
        for (var i = 0; i < spans.length; i++) {
            if (spans[i].id.indexOf("__spanOption_") != -1) {
                questionObj.options.push(fnSerializeOption(spans[i]));
            }
        }
        return questionObj;
    }
    function fnSerializeOption(optionSpan) {
        var optionObj = new Object();

        optionObj.id = optionSpan.id.replace("__spanOption_","");
        var inputs = optionSpan.getElementsByTagName("input");
        for (var i = 0; i < inputs.length; i++) {
            if (inputs[i].id.indexOf("_texto") != -1) {
                optionObj.opcion = inputs[i].value;
            }
            if (inputs[i].id.indexOf("_valor") != -1) {
                optionObj.valor = inputs[i].value;
            }
        }
        return optionObj;
    }
        
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <br />
    <div id="divEdit" runat="server"></div>
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="idEncuestas" 
        DataSourceID="DSEncuestas" onrowcommand="GridView1_RowCommand" >
        <Columns>
            
            <asp:BoundField DataField="idEncuestas" HeaderText="idEncuestas" 
                InsertVisible="False" ReadOnly="True" SortExpression="idEncuestas" />
            <asp:BoundField DataField="Titulo" HeaderText="Titulo" 
                SortExpression="Titulo" />
            <asp:TemplateField >
                <ItemTemplate>
                    <asp:LinkButton Text="editar" CommandArgument='<%#Eval("idEncuestas")%>' runat="server" CommandName="editarContenido"></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="DSEncuestas" runat="server" 
        ConnectionString="<%$ ConnectionStrings:kioskosConnectionString %>" 
        DeleteCommand="DELETE FROM [Encuestas] WHERE [idEncuestas] = @idEncuestas" 
        InsertCommand="INSERT INTO [Encuestas] ([Titulo]) VALUES (@Titulo)" 
        SelectCommand="SELECT [idEncuestas], [Titulo] FROM [Encuestas]" 
        UpdateCommand="UPDATE [Encuestas] SET [Titulo] = @Titulo WHERE [idEncuestas] = @idEncuestas">
        <DeleteParameters>
            <asp:Parameter Name="idEncuestas" Type="Int32" />
        </DeleteParameters>
        <InsertParameters>
            <asp:Parameter Name="Titulo" Type="String" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="Titulo" Type="String" />
            <asp:Parameter Name="idEncuestas" Type="Int32" />
        </UpdateParameters>
    </asp:SqlDataSource>
    <asp:Button CommandName="nuevaEncuesta" runat="server" Text="Crear encuesta" 
        ID="btnNueva" onclick="btnNueva_Click" />
    <asp:HiddenField ClientIDMode="Static" ID="jsonString" runat="server" value="" Visible="true" />
</asp:Content>
